package com.br.mercarad.db.vos;

import java.util.List;

import com.br.mercarad.uteis.Utils;

public class ViewVO {
	private int id;
	private String nome;
	private String parametro;
	private String tabelaSqlite;
	private List<CampoVO> campos;
	
	public String getPatterImportTable(){
		return "Tables."+this.tabelaSqlite+".table";
	}
	
	public String getPatterSqLiteNaoCompleto(){
		StringBuilder sb = new StringBuilder();
		
		sb.append("CREATE TABLE \""+this.tabelaSqlite+"\" (");	
//		for (CampoVO campo : this.campos) {
//			sb.append(campo.getNome()+" "+campo.getTypeDesc());
//			if (!campo.getIsNull())
//				sb.append(" NOT NULL");
//			if (campo.get)
//			
//			sb.append(",");
//		}
		 return sb.toString();
		
	}
	
	public String getPatternTables(){
		StringBuilder sb = new StringBuilder();
		
		sb.append("public static class ");
		sb.append(this.tabelaSqlite);
		sb.append(" {");
		return sb.toString();
	}	
	
	
	
	public String getStringTables(){
		StringBuilder sb = new StringBuilder();
		
		sb.append("public static class "+this.tabelaSqlite+" {");
		sb.append("/n");
		sb.append("public final static String table = \""+this.tabelaSqlite+"\";");
		for (CampoVO campo : this.campos) {
			sb.append(campo.getStringTables());
			sb.append("/n");
			
		}
		sb.append("/n");
		sb.append("}");
		return sb.toString();
	}	
	
	public String getStringVoCompleto(){
		StringBuilder sb = new StringBuilder();
		
		//sb.append("CREATE TABLE \""+this.tabelaSqlite+"\" (");	
		for (CampoVO campo : this.campos) {
			sb.append(campo.getStringVo());
			sb.append("\n");
		}
		return sb.toString();
		
	}
	
	public String getStringDACompleto(){
		StringBuilder sb = new StringBuilder();
		sb.append("private ContentValues createContentValues(");
		sb.append(this.nome+" entity) {");
		sb.append("/n");
		
		sb.append("ContentValues values = new ContentValues();/n");
		for (CampoVO campo : this.campos) {
			campo.getStringDA(this.nome);		
		}
		sb.append("return values;/n");
		
		return sb.toString();	
	}
	
	
	public String getPatternVO(){
		StringBuilder sb = new StringBuilder();
		
		sb.append("public static class ");
		sb.append(this.tabelaSqlite);
		sb.append(" {");
		return sb.toString();
	}	
	
	public String getStringImportTable(){
		return "tables.add(new ImportTable(Tables."+this.tabelaSqlite+".table));";
	}
	
	public String getStringSqLiteCompleto(){
		StringBuilder sb = new StringBuilder();
		
		sb.append("CREATE TABLE \""+this.tabelaSqlite+"\" (");	
		for (CampoVO campo : this.campos) {
			sb.append(campo.getStringSqlite());
			sb.append(",");
		}
		return sb.toString();
		
	}
	
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getNome() {
		return nome;
	}
	public void setNome(String nome) {
		this.nome = nome;
	}
	public String getParametro() {
		return parametro;
	}
	public void setParametro(String parametro) {
		this.parametro = parametro;
	}
	public String getTabelaSqlite() {
		return tabelaSqlite;
	}
	public void setTabelaSqlite(String tabelaSqlite) {
		this.tabelaSqlite = tabelaSqlite;
	}
	public List<CampoVO> getCampos() {
		return campos;
	}
	public void setCampos(List<CampoVO> campos) {
		this.campos = campos;
	}
}
